<?php

class GirisController extends Controller
{
	public $sagustmenu="";
	
	public function __construct($id,$module=null)
	{
		parent::__construct($id,$module=null);
	}

	public function filters()
	{
		return array(
			'accessControl', 
		);
	}
	
	public function accessRules()
	{
		$admin_kullanicilar = UserIdentity::YoneticiKullaniciGrubu();
		$ebeveyn_kullanicilar = UserIdentity::EbeveynKullaniciGrubu();
		
		return array(
			array('allow',
				'actions'=>array(
					'index',
					'login',
					'hakkinda',
					'kisisel',
					'beceri',
					'egitim',
					'iletisim',
					'yardim',
					'vanilla',
					'anket',
					'ankettesekkur',
				),
				'users'=>$ebeveyn_kullanicilar,
			),
			array('allow', 
				'actions'=>array(
					'index',
					'login',
					'hakkinda',		
					'vanilla',
					'log',
				),
				'users'=>$admin_kullanicilar,
			),
			array('allow',
				'actions'=>array(
					'index',
					'login',
					'cron',
					'cron2',
					'odulresim',
					'yenikullanici',
					'sifreSifirlaEposta',
					'sifreSifirlaSMS',
				),
				'users'=>array('*'),
			),
			
			array('deny', 
				'users'=>array('*'),
			),
		);
	}

	public function actionCron()
	{
		//15 dakikada bir çalışıyor
		//Araclar::mailGonder('serkancankaya@anadolu.edu.tr', 'deneme cron denemesi bakalım ne olacak');
		$bas = time() + (7 * 60); //7 dakika sonra
		$son = time() + (13 * 60); // 13 dakika sonra
		$model = Zaman::model()->findAll("zaman>:bas and zaman<:son",array('bas'=>$bas,'son'=>$son));
		for($i=0;$i<count($model);$i++){
			$ebe = Kullanicilar::model()->findByPk($model[$i]->ebeveyn_id);
			$beceri = Beceriler::model()->findByPk($model[$i]->beceri_id);
			$uyari = new UyariGonderilen();
			$uyari->kime = $model[$i]->ebeveyn_id;
			$uyari->mesaj = "Hatırlatma: ".$beceri->beceri_adi." becerisi için yaklaşık ".round(($model[$i]->zaman - time())/60)." dakika sonra uygulamanız bulunmaktadır.";
			$uyari->eposta=0;
			$uyari->sms=0;
			if(!empty($ebe->eposta)){
				$mesaj = "Hatırlatma: ".$beceri->beceri_adi." becerisi için yaklaşık ".round(($model[$i]->zaman - time())/60)." dakika sonra uygulamanız bulunmaktadır.";
				//$mesaj_en = "Reminder: You have an application for the skill, $beceri->beceri_adi_en, in about ".round(($model[$i]->zaman - time())/60)." minutes.";
				MailRobot::mailGonder($ebe->eposta, $mesaj."<br /><br />".$mesaj_en);
				//Araclar::trace($ebe->eposta." ".$mesaj."<br /><br />".$mesaj_en);
				$uyari->eposta = 1;
			}
			if(!empty($ebe->cep_tel)){
				$mesaj = "BYE Hatırlatma: ".$beceri->beceri_adi." becerisi için yaklaşık ".round(($model[$i]->zaman - time())/60)." dakika sonra uygulamanız bulunmaktadır.";
				//$mesaj_en = "Reminder: You have an application for the skill, $beceri->beceri_adi_en, in about ".round(($model[$i]->zaman - time())/60)." minutes.";
				Araclar::smsGonder($ebe->cep_tel, $mesaj);
				//Araclar::trace($ebe->eposta." ".$mesaj."<br /><br />".$mesaj_en);
				$uyari->sms=1;
			}
			$uyari->save();
			//Araclar::trace($uyari);
		}
		//Araclar::smsGonder("905072097725", "Hatırlatma: ecerisi için yaklaşık akika sonra uygulamanız bulunmaktadır.");
		MailRobot::gonder();		
		$this->render("cron");
	}
	public function actionCron2()
	{
		MailRobot::gonder();
		$this->render("cron");
	}
	
	public function actionSifreSifirlaEposta(){
		$eposta = $_POST['eposta'];
		if(!empty($eposta)){
			$k = Kullanicilar::model()->findAll("eposta=:eposta",array(':eposta'=>$eposta));
			for($i=0;$i<count($k);$i++){
				$kul = $k[$i];
				$sifre = $this->sifreUret();
				$mesaj = "Şifre değiştirme talebinde bulundunuz.";
				$mesaj .= "<br /><br />";
				$mesaj .= "Kullanıcı Adınız: ".$kul->kullanici_adi;
				$mesaj .= "<br />";
				$mesaj .= 'Yeni Şifreniz: '.$sifre;
				$kul->sifre = md5($sifre);
				$kul->save();
				Araclar::mailGonder($eposta, $mesaj);
			}
			if(count($k)==0){
				$this->render('sifre_sifirla_eposta_yok');
			}else{
				$this->render('sifre_sifirla_eposta_basari');
			}
		}else{
			$this->render('sifre_sifirla_eposta');
		}
	}

	public function actionSifreSifirlaSMS(){
		$cep_tel = $_POST['cep_tel'];
		if(!empty($cep_tel)){
			$k = Kullanicilar::model()->findAll("cep_tel=:cep_tel",array(':cep_tel'=>$cep_tel));
			for($i=0;$i<count($k);$i++){
				$kul = $k[$i];
				$sifre = $this->sifreUret();
				$mesaj = "BYE şifre değiştirme talebi. ";
				$mesaj .= "Kullanıcı:".$kul->kullanici_adi;
				$mesaj .= ' Şifre:'.$sifre;
				$kul->sifre = md5($sifre);
				$kul->save();
				Araclar::smsGonder($cep_tel, $mesaj);
				//Araclar::trace($mesaj);
			}
			if(count($k)==0){
				$this->render('sifre_sifirla_sms_yok');
			}else{
				$this->render('sifre_sifirla_sms_basari');
			}
		}else{
			$this->render('sifre_sifirla_sms');
		}
	}	
	
	function sifreUret() {
		$alphabet = "abcdefghijklmnopqrstuwxyz0123456789";
		$pass = array(); //remember to declare $pass as an array
		$alphaLength = strlen($alphabet) - 1; //put the length -1 in cache
		for ($i = 0; $i < 6; $i++) {
			$n = rand(0, $alphaLength);
			$pass[] = $alphabet[$n];
		}
		return implode($pass); //turn the array into a string
	}
	
	public function actionVanilla(){
		$this->layout = "bos";
		$this->render("vanilla");
	}
	
	public function actionIndex()
	{
		if(!Yii::app()->user->isGuest){
			if(UserIdentity::YetkiGetir(Yii::app()->user->getId()) == YetkiSeviyesi::YONETICI){
				$this->redirect(array("yonetici/beceriler"));
			}else{
				$this->render('index');
			}
		}else{
			$this->redirect(array("giris/login"));
		}
	}

	public function actionLogin()
	{
		$model=new LoginForm;

		// if it is ajax validation request
		if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
		{
			echo CActiveForm::validate($model);
			Yii::app()->end();
		}

		// collect user input data
		if(isset($_POST['LoginForm']))
		{
			$model->attributes=$_POST['LoginForm'];
			// validate user input and redirect to the previous page if valid
			if($model->validate() && $model->login()){
				setcookie('Vanilla', ' ', time() - 3600, '/');
				setcookie('Vanilla-Volatile', ' ', time() - 3600, '/');
				setcookie('VanillaSessionID', ' ', time() - 3600, '/');				
				$this->redirect(Yii::app()->user->returnUrl);
			}
		}
		// display the login form
		$this->render('login',array('model'=>$model));
	}
	
	public function actionYenikullanici(){
		Yii::app()->clientScript->registerCoreScript('jquery');
		$model=new Kullanicilar();
		$uyari="";
		$uyari_iyi="";
		if(!empty($_POST["Kullanicilar"])){
			$model->kullanici_adi = $_POST["Kullanicilar"]["kullanici_adi"];
			$model->ad = $_POST["Kullanicilar"]["ad"];
			$model->soyad = $_POST["Kullanicilar"]["soyad"];
			$model->cinsiyet = $_POST["Kullanicilar"]["cinsiyet"];
			$model->yas = $_POST["Kullanicilar"]["yas"];
			$model->egitim_durumu = $_POST["Kullanicilar"]["egitim_durumu"];
			$model->eposta = $_POST["Kullanicilar"]["eposta"];
			$model->cep_tel = $_POST["Kullanicilar"]["cep_tel"];
			$model->sifre1 = $_POST["Kullanicilar"]["sifre1"];
			$model->sifre2 = $_POST["Kullanicilar"]["sifre2"];
			$model->il_id = $_POST["Kullanicilar"]["il_id"];
			$model->adres = '';
			$model->cocuk_ad = $_POST["Kullanicilar"]["cocuk_ad"];
			$model->cocuk_soyad = $_POST["Kullanicilar"]["cocuk_soyad"];
			$model->cocuk_yakinlik = $_POST["Kullanicilar"]["cocuk_yakinlik"];
			$model->cocuk_yas = $_POST["Kullanicilar"]["cocuk_yas"];
			$model->cocuk_engellilik_durumu = $_POST["Kullanicilar"]["cocuk_engellilik_durumu"];
			$model->cocuk_cinsiyet = $_POST["Kullanicilar"]["cocuk_cinsiyet"];
			$model->yetki=0;
			$ka = Kullanicilar::model()->findAll('kullanici_adi=:ka',array(':ka'=>$_POST["Kullanicilar"]["kullanici_adi"]));
			if(count($ka)>0){
				$uyari .=  Araclar::yaz ('Bu kullanıcı adı kullanılmaktadır, başka bir kullanıcı adı girmeyi deneyiniz. ');
			}
			if($model->sifre1==$model->sifre2){
				$model->sifre = md5($model->sifre1);
			}else{
				$uyari=Araclar::yaz("Şifreler tutarsız! Kontrol edip tekrar deneyiniz. ","Passwords are inconsistent! Please write them again. ");
			}
			if(empty($_POST["Kullanicilar"]["ad"])) $uyari .=  Araclar::yaz ('Adınızı girmelisiniz. ');
			if(empty($_POST["Kullanicilar"]["soyad"])) $uyari .=  Araclar::yaz ('Soyadınızı girmelisiniz. ');
			if(empty($_POST["Kullanicilar"]["cep_tel"])) $uyari .=  Araclar::yaz ('İletişim için telefon bilginizi girmelisiniz. ');
			if(empty($_POST["Kullanicilar"]["sifre1"])) $uyari .=  Araclar::yaz ('Yeni bir şifre belirlemelisiniz. ');
			if(empty($_POST["Kullanicilar"]["cocuk_ad"])) $uyari .=  Araclar::yaz ('Öğretim yapacağınız kişinin adını girmelisiniz. ');
			if(empty($_POST["Kullanicilar"]["cocuk_soyad"])) $uyari .=  Araclar::yaz ('Öğretim yapacağınız kişinin soyadını girmelisiniz. ');
			if(empty($_POST["Kullanicilar"]["cocuk_yakinlik"])) $uyari .=  Araclar::yaz ('Öğretim yapacağınız kişi ile yakınlık durumunuzu girmelisiniz. ');
			if(empty($_POST["Kullanicilar"]["cocuk_yas"])) $uyari .=  Araclar::yaz ('Öğretim yapacağınız kişinin yaşını girmelisiniz. ');
			if(empty($_POST["Kullanicilar"]["cocuk_engellilik_durumu"])) $uyari .=  Araclar::yaz ('Öğretim yapacağınız kişinin engellilik durumunu girmelisiniz. ');
			if(empty($uyari)){
				$uyari_iyi=Araclar::yaz("Kayıt Başarılı","Successfully saved.");
				$model->save();
				$this->render('yeni_kayit_basarili');
				return;
			}
		}
		$this->render('yenikullanici',array(
			'model'=>$model,
			'uyari'=>$uyari,
			'uyari_iyi'=>$uyari_iyi,
		));
	}
	
	public function actionBeceri(){
		$this->sagustmenu =  Araclar::linkKoy('/index.php/giris/index',"<img src='/images/ev".Araclar::dosyaDilUzanti().".png' />",'button ust');
		$this->render('beceri');
	}
	
	public function actionHakkinda(){
		$this->sagustmenu =  Araclar::linkKoy('/index.php/giris/index',"<img src='/images/ev".Araclar::dosyaDilUzanti().".png' />",'button ust');
		$this->render('hakkinda');
	}
	public function actionKisisel(){
		Yii::app()->clientScript->registerCoreScript('jquery');
		$this->sagustmenu =  Araclar::linkKoy('/index.php/giris/index',"<img src='/images/ev".Araclar::dosyaDilUzanti().".png' />",'button ust');
		$uyari="";
		$uyari_iyi="";
		$model = Kullanicilar::model()->findByPk(Yii::app()->user->id);
		if(!empty($_POST["Kullanicilar"])){
			$model->ad = $_POST["Kullanicilar"]["ad"];
			$model->soyad = $_POST["Kullanicilar"]["soyad"];
			$model->cinsiyet = $_POST["Kullanicilar"]["cinsiyet"];
			$model->yas = $_POST["Kullanicilar"]["yas"];
			$model->egitim_durumu = $_POST["Kullanicilar"]["egitim_durumu"];
			//$model->gelir_duzeyi = $_POST["Kullanicilar"]["gelir_duzeyi"];
			$model->eposta = $_POST["Kullanicilar"]["eposta"];
			$model->cep_tel = $_POST["Kullanicilar"]["cep_tel"];
			$model->sifre1 = $_POST["Kullanicilar"]["sifre1"];
			$model->sifre2 = $_POST["Kullanicilar"]["sifre2"];
			$model->il_id = $_POST["Kullanicilar"]["il_id"];
			$model->adres = $_POST["Kullanicilar"]["adres"];
			$model->cocuk_ad = $_POST["Kullanicilar"]["cocuk_ad"];
			$model->cocuk_soyad = $_POST["Kullanicilar"]["cocuk_soyad"];
			$model->cocuk_yakinlik = $_POST["Kullanicilar"]["cocuk_yakinlik"];
			$model->cocuk_yas = $_POST["Kullanicilar"]["cocuk_yas"];
			$model->cocuk_engellilik_durumu = $_POST["Kullanicilar"]["cocuk_engellilik_durumu"];
			$model->cocuk_cinsiyet = $_POST["Kullanicilar"]["cocuk_cinsiyet"];
			if(!empty($model->sifre1)){
				if($model->sifre1==$model->sifre2){
					$model->sifre = md5($model->sifre1);
					$model->save();
					$uyari_iyi=Araclar::yaz("Kayıt Başarılı","Successfully saved.");
				}else{
					$uyari=Araclar::yaz("Şifreler tutarsız! Kontrol edip tekrar deneyiniz.","Passwords are inconsistent! Please write them again.");
				}
			}else{
				$uyari_iyi=Araclar::yaz("Kayıt Başarılı","Successfully saved.");
				$model->save();
			}
		}
		$this->render('kisisel',array('model'=>$model,'uyari'=>$uyari,'uyari_iyi'=>$uyari_iyi));
	}
	
	public function actionEgitim()
	{
		$this->sagustmenu =  Araclar::linkKoy('/index.php/giris/index',"<img src='/images/ev".Araclar::dosyaDilUzanti().".png' />",'button ust');
		$this->render("egitim");
	}

	public function actionIletisim()
	{
		$this->sagustmenu =  Araclar::linkKoy('/index.php/giris/index',"<img src='/images/ev".Araclar::dosyaDilUzanti().".png' />",'button ust');
		$this->render("iletisim");
	}
	
	public function actionYardim()
	{
		$this->sagustmenu =  Araclar::linkKoy('/index.php/giris/index',"<img src='/images/ev".Araclar::dosyaDilUzanti().".png' />",'button ust');
		$this->render("yardim");
	}
	
	public function actionLog($id){
		$kullanici=  Kullanicilar::model()->findByPk($id);
		$logs = Log::model()->findAll("kullanici_id=:kullanici_id ORDER BY tarih",array(':kullanici_id'=>$id));
	
		$this->render("log",array(
			'kullanici'=>$kullanici,
			'logs'=>$logs,
		));
	}
	
	public function actionOdulresim($id){ 
		$this->layout = "//layouts/bos";
		$this->render("odulresim",array('id'=>$id));
	}
	
	public function actionAnket(){
		global $m_anket;
		$m_anket = Anket::model()->find('ebeveyn_id=:ebeveyn_id',array(':ebeveyn_id'=>Yii::app()->user->id));
		if($m_anket==null){
			$m_anket = new Anket();
			$m_anket->ebeveyn_id=Yii::app()->user->id;
			$k = Kullanicilar::model()->findByPk(Yii::app()->user->id);
			$m_anket->yas = $k->yas;
			$m_anket->cinsiyet = $k->cinsiyet;
			$m_anket->cocuk_engellilik_durumu = $k->cocuk_engellilik_durumu;
			$m_anket->cocuk_cinsiyet=$k->cocuk_cinsiyet;
			$m_anket->cocuk_yas=$k->cocuk_yas;
			$m_anket->save();
		}
		if(!empty($_POST['kaydet'])){
			$m_anket->yas = $_POST['yas'];
			$m_anket->cinsiyet = $_POST['cinsiyet'];
			$m_anket->medeni = $_POST['medeni'];
			$m_anket->egitim_durumu = $_POST['egitim_durumu'];
			$m_anket->ev_bilgisayar = $_POST['ev_bilgisayar'];
			$m_anket->ev_internet = $_POST['ev_internet'];
			$m_anket->internet_kullanim = $_POST['internet_kullanim'];
			$m_anket->ev_tablet = $_POST['ev_tablet'];
			$m_anket->tablet_kullanim = $_POST['tablet_kullanim'];
			$m_anket->cocuk_yakinlik = $_POST['cocuk_yakinlik'];
			$m_anket->cocuk_yas = $_POST['cocuk_yas'];
			$m_anket->cocuk_egitim_durumu = $_POST['cocuk_egitim_durumu'];
			$m_anket->cocuk_cinsiyet = $_POST['cocuk_cinsiyet'];
			$m_anket->cocuk_engellilik_durumu = $_POST['cocuk_engellilik_durumu'];
			//$m_anket-> = $_POST[''];
			for($i=1;$i<=23;$i++){
				$alan='f'.($i<10 ? '0'.$i : $i);
				$m_anket->$alan = $_POST[$alan];
				$alan='k'.($i<10 ? '0'.$i : $i);
				$m_anket->$alan = $_POST[$alan];
				$alan='t'.($i<10 ? '0'.$i : $i);
				$m_anket->$alan = $_POST[$alan];
			}
			$m_anket->diger = $_POST['diger'];
			$m_anket->save();
		}
		$this->render("anket",array(
			'm_anket'=>$m_anket,
		));
	}
	public function actionAnkettesekkur(){
		$this->render('ankettesekkur');
	}
}